package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 销售费用对象 selling_expenses
 * 
 * @author 王帝
 * @date 2022-08-02
 */
public class SellingExpenses extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Integer expId;

    /** 结算类型 */
    @Excel(name = "结算类型")
    private Integer settlementType;

    /** 结算状态 */
    @Excel(name = "结算状态")
    private String settlementStatus;

    /** 项目群 */
    @Excel(name = "项目群")
    private String program;

    /** 收款部门 */
    @Excel(name = "收款部门")
    private String collectionDepartment;

    /** 收款项目号 */
    @Excel(name = "收款项目号")
    private String collectionItemNo;

    /** 付款部门 */
    @Excel(name = "付款部门")
    private String paymentDepartment;

    /** 付款项目号 */
    @Excel(name = "付款项目号")
    private String paymentItemNo;

    /** 转款说明 */
    @Excel(name = "转款说明")
    private String moneyTransferInstructions;

    /** 收付款可能性 */
    @Excel(name = "收付款可能性")
    private Integer collectionPossibility;

    /** 收付类型 */
    @Excel(name = "收付类型")
    private Integer paymentType;

    /** 结算金额 */
    @Excel(name = "结算金额")
    private BigDecimal settlementAmount;

    /** 销售费点 */
    @Excel(name = "销售费点")
    private String salesCostPoint;

    /** 税点 */
    @Excel(name = "税点")
    private String taxPoint;

    /** 收款结算金额 */
    @Excel(name = "收款结算金额")
    private BigDecimal paymentAndSettlementAmount;

    /** 付款结算金额 */
    @Excel(name = "付款结算金额")
    private BigDecimal paymentSettlementAmount;

    /** 结算日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date balanceDate;

    private Long userId;

    private Long deptId;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long detpId) {
        this.deptId = detpId;
    }

    public void setExpId(Integer expId) 
    {
        this.expId = expId;
    }

    public Integer getExpId() 
    {
        return expId;
    }
    public void setSettlementType(Integer settlementType) 
    {
        this.settlementType = settlementType;
    }

    public Integer getSettlementType() 
    {
        return settlementType;
    }
    public void setSettlementStatus(String settlementStatus) 
    {
        this.settlementStatus = settlementStatus;
    }

    public String getSettlementStatus() 
    {
        return settlementStatus;
    }
    public void setProgram(String program) 
    {
        this.program = program;
    }

    public String getProgram() 
    {
        return program;
    }
    public void setCollectionDepartment(String collectionDepartment) 
    {
        this.collectionDepartment = collectionDepartment;
    }

    public String getCollectionDepartment() 
    {
        return collectionDepartment;
    }
    public void setCollectionItemNo(String collectionItemNo) 
    {
        this.collectionItemNo = collectionItemNo;
    }

    public String getCollectionItemNo() 
    {
        return collectionItemNo;
    }
    public void setPaymentDepartment(String paymentDepartment) 
    {
        this.paymentDepartment = paymentDepartment;
    }

    public String getPaymentDepartment() 
    {
        return paymentDepartment;
    }
    public void setPaymentItemNo(String paymentItemNo) 
    {
        this.paymentItemNo = paymentItemNo;
    }

    public String getPaymentItemNo() 
    {
        return paymentItemNo;
    }
    public void setMoneyTransferInstructions(String moneyTransferInstructions) 
    {
        this.moneyTransferInstructions = moneyTransferInstructions;
    }

    public String getMoneyTransferInstructions() 
    {
        return moneyTransferInstructions;
    }
    public void setCollectionPossibility(Integer collectionPossibility) 
    {
        this.collectionPossibility = collectionPossibility;
    }

    public Integer getCollectionPossibility() 
    {
        return collectionPossibility;
    }
    public void setPaymentType(Integer paymentType) 
    {
        this.paymentType = paymentType;
    }

    public Integer getPaymentType() 
    {
        return paymentType;
    }
    public void setSettlementAmount(BigDecimal settlementAmount) 
    {
        this.settlementAmount = settlementAmount;
    }

    public BigDecimal getSettlementAmount() 
    {
        return settlementAmount;
    }
    public void setSalesCostPoint(String salesCostPoint) 
    {
        this.salesCostPoint = salesCostPoint;
    }

    public String getSalesCostPoint() 
    {
        return salesCostPoint;
    }
    public void setTaxPoint(String taxPoint) 
    {
        this.taxPoint = taxPoint;
    }

    public String getTaxPoint() 
    {
        return taxPoint;
    }
    public void setPaymentAndSettlementAmount(BigDecimal paymentAndSettlementAmount) 
    {
        this.paymentAndSettlementAmount = paymentAndSettlementAmount;
    }

    public BigDecimal getPaymentAndSettlementAmount() 
    {
        return paymentAndSettlementAmount;
    }
    public void setPaymentSettlementAmount(BigDecimal paymentSettlementAmount) 
    {
        this.paymentSettlementAmount = paymentSettlementAmount;
    }

    public BigDecimal getPaymentSettlementAmount() 
    {
        return paymentSettlementAmount;
    }
    public void setBalanceDate(Date balanceDate) 
    {
        this.balanceDate = balanceDate;
    }

    public Date getBalanceDate() 
    {
        return balanceDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("expId", getExpId())
            .append("settlementType", getSettlementType())
            .append("settlementStatus", getSettlementStatus())
            .append("program", getProgram())
            .append("collectionDepartment", getCollectionDepartment())
            .append("collectionItemNo", getCollectionItemNo())
            .append("paymentDepartment", getPaymentDepartment())
            .append("paymentItemNo", getPaymentItemNo())
            .append("moneyTransferInstructions", getMoneyTransferInstructions())
            .append("collectionPossibility", getCollectionPossibility())
            .append("paymentType", getPaymentType())
            .append("settlementAmount", getSettlementAmount())
            .append("salesCostPoint", getSalesCostPoint())
            .append("taxPoint", getTaxPoint())
            .append("paymentAndSettlementAmount", getPaymentAndSettlementAmount())
            .append("paymentSettlementAmount", getPaymentSettlementAmount())
            .append("balanceDate", getBalanceDate())
            .toString();
    }
}
